L7. Valid Sudoku (Medium)

Description

Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules:

  1. Each row must contain the digits 1-9 without repetition.
  2. Each column must contain the digits 1-9 without repetition.
  3. Each of the nine 3 x 3 sub-boxes of the grid must contain the digits 1-9 without repetition.

Note:

  • A Sudoku board (partially filled) could be valid but is not necessarily solvable.
  • Only the filled cells need to be validated a according to the mentioned rules.

Solution

没有思路,唯一能想到的办法就是 B.F. 。按行、列、子块分别遍历 3 遍。查看这些规则是否有被满足。如果有一次违规,直接返回 false。我们可能需要 27 个大小为 9 的哈希集合,即行、列和子块分别 9 个 std::unordered_set<char>